﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.IO;

namespace PizzaProjekt
{
    public partial class Form2 : Form
    {
        XmlDocument xDoc = new XmlDocument();
        XmlDocument xmldocument = new XmlDocument();
        Menu menu = new Menu();
        public Form2()
        {
            InitializeComponent();
            xDoc.Load("menu.xml");
            XmlNodeList rodzaje = xDoc.GetElementsByTagName("rodzaj");
            comboBox1.Items.Clear();
            for (int i = 0; i < rodzaje.Count; i++)
            {
                comboBox1.Items.Add(rodzaje[i].Attributes["nazwa"].InnerText);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string pozycja = "";
            pozycja += comboBox1.Text + " / ";
            pozycja += comboBox2.Text + " / ";
            pozycja += comboBox3.Text;
            string[] baza = comboBox2.Text.Split('/');
            int cena = int.Parse(label2.Text);
            cena += int.Parse(baza[1]) * int.Parse(comboBox3.Text);
            label2.Text = cena.ToString();
            Zamowienie.Items.Add(pozycja);
        }

        private void comboBox2_Click(object sender, EventArgs e)
        {
            XmlNodeList rodzaje = xDoc.GetElementsByTagName("pozycja");
            comboBox2.Items.Clear();
            for (int i = 0; i < rodzaje.Count; i++)
            {
                string s = rodzaje[i].Attributes["rodzaj"].InnerText;
                if (s == comboBox1.Text)
                {
                    comboBox2.Items.Add(rodzaje[i].Attributes["nazwa"].InnerText + " / " + rodzaje[i].Attributes["cena"].InnerText);
                }
            }
        }

        private void comboBox3_Click(object sender, EventArgs e)
        {
            comboBox3.Items.Clear();
            for (int i = 1; i < 11; i++)
            {
                comboBox3.Items.Add(i.ToString());
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            button2.Enabled = false;
            button5.Enabled = false;
            button4.Enabled = true;
            button1.Enabled = true;
            button3.Enabled = true;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            button2.Enabled = true;
            button5.Enabled = true;
            button1.Enabled = false;
            button3.Enabled = false;
            button4.Enabled = false;
        }

        private void button5_Click(object sender, EventArgs e)
        {
            Sprawdz(xmldocument);
            xmldocument.Load("zamowienia.xml");
            XmlElement element = xmldocument.CreateElement("zamowienie");
            for (int i = 0; i < Zamowienie.Items.Count; i++)
            {
                string napis = Zamowienie.Items[i].ToString();
                string[] rozdziel = napis.Split('/');
                XmlElement nowy = xmldocument.CreateElement("pozycja");
                nowy.SetAttribute("Rodzaj",rozdziel[0].Substring(0, rozdziel[0].Length-1));
                nowy.SetAttribute("Pozycja", rozdziel[1].Substring(1, rozdziel[1].Length - 2));
                nowy.SetAttribute("Cena", rozdziel[2].Substring(1, rozdziel[2].Length - 2));
                nowy.SetAttribute("Ilość", rozdziel[3].Substring(1));
                element.AppendChild(nowy);
            }
            xmldocument.DocumentElement.AppendChild(element);
            xmldocument.Save("zamowienia.xml");
            //Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string kontener = Zamowienie.SelectedItem.ToString();
            string [] rozdzielony = kontener.Split('/');
            int cena = int.Parse(rozdzielony[2]);
            int ilosc = int.Parse(rozdzielony[3]);
            int napis = int.Parse(label2.Text);
            napis -= cena * ilosc;
            label2.Text = napis.ToString();
            Zamowienie.Items.RemoveAt(Zamowienie.SelectedIndex);
        }
        private static void Sprawdz(XmlDocument xmldocument)
        {
            if (!File.Exists("zamowienia.xml"))
            {
                XmlElement create = xmldocument.CreateElement("zamowienie");
                xmldocument.AppendChild(create);
                xmldocument.Save("zamowienia.xml");
            }
        }
    }
}
